import { getUserAPI } from '../api/user'

export default {
  namespaced: true,
  state() {
    return {
      token: '',
      // 用户的基本信息
      user: {}
    }
  },
  mutations: {
    // 更新 token 的值
    updateToken(state, newToken) {
      state.token = newToken
    },
    // 更新 vuex中的 user 数据
    updateUser(state, newUser) {
      state.user = newUser
    }

  },
  // 异步操作
  actions: {
    // 封装获取用户信息的action函数
    async initUser(ctx) {
      // 调用接口 获取用户信息
      const { data: res } = await getUserAPI()
      // 判断接口调用成功
      if (res.code === 0) {
        // 调用 mutation函数 转存数据到state中
        ctx.commit('updateUser', res.data)
      }
    }
  }
}
